Part Number Hot Search : 
6KE15C S3031B ALSS0042 80NT3 TINY45V K20J60 C7324 ADM5170
Product Description
Full Text Search
 

To Download IMSA110-G20S Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  july 1992 image and signal processing subCsystem imsa110 . 1-d/2-d software configurable con- volver/filter . on-chip programmable line delays (0 1120 stages) . 8-bit data and 8.5-bit coefficient slice . 21 multiply-and-accumulate stages . 1-d (21) or 2-d (3 x 7) convolution win- dow . on-chip post processor for data transformation . fully cascadable in window size and accuracy . 20 mhz data throughput (420 mops) . signed/unsigned data and coeffi- cients . microprocessor interface . high speed cmos implementation . ttl compatible . single +5v 10% supply . power dissipation < 2.0 watts . 100 pin ceramic pga applications . 1-d and 2-d digital convolution and correlation . real time image processing and enhancement . edge and feature detection . data transformation and histogram equalisa- tion . computer vision and robotics . template matching . pulse compression . 1-d or 2-d interpolation ordering information part number package clock speed military/ commercial IMSA110-G20S pga100 20mhz commercial a110-01.tbl pga100 (ceramic grid array package) 1/26
notes : 1. all v cc pins must be connected to the 5 volt power supply. 2. all gnd pins must be connected to ground. reset vcc a b c d e f g h j k 12345678910 index psrin [6] psrin [4] psrin [2] psrin [1] cin [3] clk psrin [7] cin [4] cin [0] cin [2] vcc gnd cin [5] cin [8] cin [6] cin [7] cin [13] cin [15] cin [17] cin [14] cin [19] cin [21] cin [16] cin [20] w cin [18] adr [0] adr [1] psrin [3] psrin [5] gnd psrout [0] psrout [1] psrout [2] gnd psrout [3] psrout [5] psrout [6] psrout [7] cout [0] cout [2] cout [4] cout [1] gnd cout [6] cout [7] cout [9] vcc cout [10] cout [12] cout [13] cout [14] vcc gnd cout [15] cout [19] cout [18] cout [17] vcc vcc d[5] d[7] cout [21] d[3] d[4] d[1] gnd d[2] d[0] adr [7] adr [6] adr [8] adr [2] adr [3] e1 e2 cin [1] cin [12] adr [5] vcc gnd gnd gnd gnd gnd psrin [0] psrout [4] cout [8] cout [3] cout [11] cout [16] d[6] cout [5] cin [9] cin [10] cin [11] adr [4] cout [20] a110-01.eps pin connections 1. introduction the imsa110 is a single-chip reconfigurable and cascadable subsystem suitable for many high speed image and signal processing applications. apart from its powerful multiply-accumulate capa- bility (420 mops), the strength of the imsa110 lies in its extensive programmable support for data conditioning and transformation. 2. description the imsa110 consists of a configurable array of multiply-accumulators, three programmable length 1120 stage shift registers, a versatile post-process- ing unit and a microprocessor interface for configu- ration and control purposes. the comprehensive on-chip facilities make a single device capable of dealing with many image processing operations. imsa110 2/26
decode logic 21 x 8-bit update coefficient registers 21 x 8-bit current coefficient registers 256 x 8-bit data transformation look up ram backend look up table usr lsr pcr0 pcr1 pcr2 bcr mmb oub tcr scr acr configuration and control registers control logic 1120 stage programmable shift register (psrb) 1120 stage programmable shift register (psra) 7-stage multiply-accumulate array b 7-stage multiply-accumulate array a 1120 stage programmable shift register (psrc) 7-stage multiply-accumulate array c d 22 22 8 22 8 8 9 clock reset cascade input cascade output psrout address psrin mem data synchronous functions enable 1 enable 2 write asynchronous functions backend post-processing unit (normalization, saturation, and data transformation) a110-02.eps figure 1 : imsa110 users model the imsa110 has five interfaces through which data can be transferred, figure 1. the microproc- essor interface allows access to the coefficient registers, the configuration and status registers, and the data transformation tables. the remaining four interfaces allow high speed data input and output to the imsa110 and the cascading of several devices. a typical imsa110 system is shown in figure 3. if n devices are used in the cascade, they can be configured, entirely under software control, as a 21n stage 1-d transversal filter or as a 7x by 3y 2-d window, where x and y are any integers satisfying n xy. for example 4 cascaded devices can be software configured as: an 84-stage 1-d filter, a 7 by 12 2-d window, a 28 by 3 2-d window, or a 14 by 6 2-d window. the final output of the chip is 22 bits wide in twos complement format. figure 2 shows the distribution of the delays inside the part. the latency between psrin and cout is depend- ent upon the length of psrc. for example, with psrc set to 0, and all coefficients set to zero except cr0c[6] (so the data passes t hrough all mac stages), the cout bus will correspond to the psrin bus delayed by 47 clock cycles. the latency between psrin and psrout is 5 cycles plus the lengths of psrc, psrb and psra. if the shift registers are bypassed by setting scr[1] to 1 then psrout will be psrin delayed by 2 clock cycles. the latency between the cascade input (cin) and cascade output (cout) is 6 cycles. this is shown lumped at the cascade input and cascade output pads in figure 2. figure 4 gives details of the data pipelining through the backend datapath. imsa110 3/26
x d x d x x d d d cr1c coefficient registers 7 x 8 bits cr0c coefficient registers 7 x 8 bits 3 1111 d 22 x d x d x x d d d 3 1111 d 22 x d x d x x d d d 3 1111 d 22 cr1b coefficient registers 7 x 8 bits cr0b coefficient registers 7 x 8 bits cr1a coefficient registers 7 x 8 bits cr0a coefficient registers 7 x 8 bits d d d d d d 1 2 1 1 2 1 1 2 1 programmable psrc shift register 0 to 1120 stages d 1 8 8 mux 8 8 programmable psra shift register 0 to 1120 stages programmable psrb shift register 0 to 1120 stages d 1 13 d d 22 5 1 2 1 2 backend processing unit including cascade data path, normalization, saturation units and data transformation look up tables (see figure 4 for detail) cascade input cascade output cout cin psrout psrin a110-03.eps figure 2 : synchronous functions of the imsa110 imsa110 4/26
general purpose microprocessor imsa110 psrin cascade in psrout cascade out input clock output imsa110 psrin cascade in psrout cascade out imsa110 psrin cascade in psrout cascade out a110-04.eps figure 3 : a typical imsa110 based system 3. programmable shift registers the three shift registers are 8 bits wide and are each programmable from 0 up to 1120 clock cycles in length. the lengths are programmed into control registers via the microprocessor interface. data is clocked into the device via the psrin bus (programmable shift register in) at a maximum rate of 20mhz. on-chip, the input data is then fed through a pipeline of the three shift registers. the output of the first shift register passes to the first 7-stage mac array and also to the input of the second shift register. having passed through all three shift registers the data is output on the psrout bus and can be used for cascading. alter- natively, as shown in figure 2 the shift registers can be bypassed and the input data transferred to the psrout bus after two delay stages. this mode can be controlled via the on-chip control registers and significantly simplifies software configuration of a cascade arrangement. 4. mac array as shown in figure 2, the processing core of the device consists of a configurable array of multiply- accumulators (macs). the mac array consists of three 7-stage transversal filters which can be con- figured either as a 21-stage linear pipeline or as a 3 7 two-dimensional window. the input data is 8 bits wide and is fed to the mac array via three programmable shift registers. the output of each shift register is supplied as input to one of the three 7-stage transversal filters. for each of the three transversal filters the associated input data is fed simultaneously to all 7 mac stages. at each stage the input sample is multiplied by a coefficient stored in memory, and added to the output of the previous stage delayed by one clock cycle. the output of each 7-stage mac is fed, via a delay stage, to the first stage in the next transversal filter. the coefficient word width in the mac array is 8 bits wide. two banks of coefficients are provided. at any instant one set of coefficients is in use within the mac array. the set in use is defined by the state of the current bank bit, acr[0]. the other set can be altered via the microprocessor interface. once a new set of coefficients has been loaded, the activi- ties of the two coefficient banks can be inter- changed without interrupting the flow of data. alter- natively, by setting the continous bank swap bit scr[0], the two coefficient banks are swapped automatically after each data input. in this case the current bank bit only determines which bank is used first. both data input and coefficients can be programmed independently to support twos com- plement or positive unsigned formats allowing mul- tiple devices to be used as a slice in higher accu- racy systems. within the mac array no truncation or rounding is performed on the partial products. the mac array output is fed to the backend post-processing unit which is responsible for data transformation / nor- malisation and cascading function. 5. backend post-processor hardware description the backend post-processor consists of four ma- jor blocks : the input block (shifter, cascade adder and rectifier unit),a statistics monitor,the data con- ditioning unit which itself consists of the data trans- formation unit and the data normaliser, and the output block (output adder and multiplexers). a detailed diagram of the backend post-processor is given in figure 4. all operations performed in the backend are on twos complement signed numbers unless other- wise stated. imsa110 5/26
5.1 shifter, cascade adder and rectifier data from the mac array enters the datapath via a programmable shifter. the shifter is capable of arithmetic right shifts (divides) of up to 8 bits with rounding, and left shifts of up to 8 bits. the size of this shift is controlled by the status bits bcr0[5-1]. the output of the shifter passes into the cascade adder where it is added, along with any rounding generated by the shifter, to either the cascade input bus (bcr0[0] = 0), or a zero value (bcr[0] = 1). if the result of this 22-bit signed addition is greater than 2 21 - 1, (2097151 10 ) then the adder will gen- erate a positive overflow. likewise, if it is less than -2 21 , (-2097152 10 ) a negative overflow will be gen- erated. in other words, a positive overflow is gen- erated if the result of adding two positive numbers (both msbs = 0) is negative (resulting msb = 1). conversely, a negative overflow is generated if the result of adding two negative numbers (both msbs = 1) is positive (msb = 0). adding two num- bers of different signs cannot cause the adder to overflow. the output of the cascade adder can optionally be full-wave or half wave rectified under the control of bcr0[7,6]. the output of the rectifier passes onto the x bus. overflows on the x bus are signalled to both the statistics monitor and the data conditioner. 5.2 statistics monitor the statistics monitor allows the user to set up watch dogs on the dynamics of the data on the x bus. it cannot affect the data on the x bus. the statistics gathered provide information on the sys- tem behaviour which can be used to ensure correct data scaling and normalisation. the information is also useful in the control of the overall systems analogue frontend. hardware/functions the statistics monitor consists of a 24 bit min/max register (mmr), a 24 bit min/max buffer (mmb), a 22 bit over/undershoot counter (ouc), a 22 bit over/undershoot buffer (oub) and a 22 bit twos complement comparator. it can perform one of four functions : max register : capture the maximum value of data and store it in the mmr. min register : capture the minimum value of data and store it in the mmr. overshoot counter : increment the ouc each time the data value exceeds the preset value in the mmr. undershoot counter : increment the ouc each time the data value is less than the preset value in the mmr. the mode of operation is determined by the max/min switch bcr1[0], and the static threshold switch bcr1[1]. operation each sample on the x bus is compared against the threshold stored in the mmr. if the unit is configured as an overshoot counter and the data on the x bus exceeds the threshold in the mmr, then the counter (ouc) is incremented. if the data is less than or equal to the threshold, then no action will occur. the ouc is unsigned and will not wrap around. thus it behaves as a saturating counter with a maximum value of 2 22 - 1, (3fffff 16 , 4194303 10 ). if there is a positive over- flow on the x bus, then the counter will increment since the correct x bus value must exceed the threshold. similarly a negative overflow on the x bus will not increment the counter since the correct x bus value cannot exceed the preset threshold. if the unit is configured as an undershoot counter then the counter will be incremented whenever the sample is less than the preset threshold. in this case a negative overflow will cause the counter to increment. if the unit is configured as a max register and the x bus exceeds the current threshold in the mmr, then the value on the xbus is loaded into the mmr and becomes the new threshold and the counter is incremented. if the threshold is not exceeded then no action occurs. thus the value in the mmr is the maximum value that has appeared on the x bus, and the value in the ouc has been incremented by the number of times that the threshold has been updated. if the unit is configured as a min register then the threshold is updated and the counter incremented whenever the x bus is less than the current thresh- old. when operating as a min/max register, overflows on the x bus can never cause the threshold to be updated as this would load an erroneous value into the mmr. imsa110 6/26
shifter -2 to 14 shifter [8:0] cascade adder rectifier prescaler byte select min/max register comparator gt/lt over/undershoot count over/undershoot buffer min/max buffer lsr 64 x 32 bit ram 8 6 usr 32 y bus [26:22] [21:0] 32 data transformation unit 22 22 22 mux 22 22 22 22 from mac array negative overflow positive overflow cascade input pads 1 rounding 22 control statistics monitor 5 22 22 1 1 x bus 8 from bcr data normalizer mux zero data 22 mux 22 1 rounding output adder 22 22 8 8 6 [21:14] [7:0] mux mux 88 [13:8] [21:14] [7:0] 22 clock cycle cascade output pads 1 2 3 4 5 6 over/under select (isbs) 2 a110-05.eps figure 4 : detailed block diagram of the backend post-processing unit imsa110 7/26
overflows bit 22 of the mmr records the history of positive overflows on the x bus. similarly bit 23 records the history of negative overflows. these bits in the mmr are set to zero by writing to the mmr copy location and are active independently of whether the static threshold bit is set. when the mmr is read, then bits 22 and 23 are interpreted as follows: bit 23 bit 22 condition 0 0 no overflow has occured 0 1 one or more positive overflows have occured 1 0 one or more negative overflows have occured 1 1 both postive and negative overflows have occured detailed block diagram of the backend post-proc- essing unit access to registers the mmr and ouc are accessed, through the memory interface, only via their associated buffers (mmb and oub respectively) and are not accessi- ble directly. in order to load the mmr with a value, the host must first write the value to the mmb and then transfer the data from the mmb to the mmr by performing a write to the copy mmr location, 0b4 16 . to read the mmr the host must first perform a read cycle from location 0b4 16 (which transfers the contents of the mmr into the mmb) and then read the mmb. the oub is accessed in the same way except that the dummy writes and reads are done to and from location 0bc 16 . copies from mmr to mmb and ouc to oub (reads) can be performed at any time giving a snapshot of the contents of the mmr and ouc respectively. copies from mmb to mmr and oub to ouc (writes) can also be performed at any time allowing the threshold and counter to be updated dynamically. 5.3 data transformation unit the data transformation unit consists of a presca- lar, an under/over select detector, a look up table and a byte selector. it can be used in isolation to perform abitrary data mappings, or in conjunction with the data normaliser to implement sophisticated dynamic range compression functions. prescalar this allows an 8-bit field anywhere within the 22-bit x bus to be selected as the address to the lut. this is performed by right shifting the x bus so that the required 8 bits are at the least significant end. the amount of right shift is programmed in bcr2[4-0] and can have a value from 0 to 16. over/u nder sel ect detector with poslutaddr (scr[6]) set to zero, this unit monitors whether the amount of right shift per- formed by the prescalar is sufficient to include all significant bits in, and maintain the sign of, the selected 8 bit field (i.e. an over or under select is generated if the most significant bit of the selected 8 bit field differs from any subsequent bit right up to and including the most significant bit of the right shifted x bus). this will be an overselect if the x bus is positive (bit 21 = 0), and an underselect if the x bus is negative (bit 21 = 1). in other words the lut address is always deemed to be signed with an address range of -128 to 127. if however the control bit poslutaddr (scr[6]) is set to one, the unit monitors whether the amount of right shift performed by the prescaler is sufficient to include all significant bits in the selected 8 bit f ield and that all unselected bits are zero (i.e. an over or under select is generated if the first selected bit (bit 9) is not zero or differs from any subsequent bit right up to and including the most significant bit of the right shifted x bus). this will be an overselect if the xbus is positive and an underselect when- ever the xbus is negative. thus, in this mode, the address range of the lut is 0 to 255. prescalar under/over selects and x bus posi- tive/negative overflows are passed to the lut along with the selected 8 bit address field. look up table (lut) and byte select the lut consists of 64 words, 32 bits wide plus two special 32 bit locations called the upper and lower saturation registers (usr and lsr respectively). thus the lut is actually 66 words by 32 bits. the 32 bit output of the lut is called the y bus. the most significant 6 bits of the 8 bit address f ield are used to address one of 64 words in the lut. the least significant pair of bits in the 8 bit field are used to control a byte select on the output. thus in addition to operating as a 64+2 word look up table of 32 bit words, it can be used as an 8 bit, 256+2 byte lut providing 8bit 8bit transformations. positive overflows on the x bus, and over selects in the prescalar cause the lut to access the usr overriding the address given by the prescalar. like- wise negative overflows and under selects cause the lut to access the lsr. any sort of overflow on the x bus or prescalar will cause the byte select control to be overridden and the most significant byte (byte 3) of the appropriate saturation register will appear on the byte wide output of the data transformation unit. imsa110 8/26
if there are simultaneous overflows on the x bus and in the prescalar then the overflow from the x bus takes priority. the usr and lsr can thus be used to model the saturating behaviour of analogue circuits instead of the usual wrap around encountered in digital sys- tems. alternatively the usr and lsr could signal error conditions within the backend directly on the output pins via one of the output multiplexers. the lut is loaded via the memory interface. the addressing for the lut corresponds to the 8 bit field, assuming that the byte selector is being used. in order to access the look up table, usr and lsr from the microprocessor interface, the lut ac- cess control bit acr[1] must be set to zero. this will force the y bus to zero and the normaliser to be controlled by bcr3[7-3] regardless of the setting of the dynamic normalisation bit, bcr3[2]. the lut, usr and lsr can then be loaded with any arbitrary value via the microprocessor interface. setting the lut access control bit to one will then allow the lut to be used in the data transformation unit. 5.4 data normaliser this unit consists of a shifter capable of right shifts of up to 14 bits and left shifts up to 2 bits, followed by a zero data unit and an adder. the shifter is controllable from one of two 5 bit sources : control bits bcr3[7-3] or bits 26 to 22 of the y bus. the control bit enable dynamic normalisation (bcr3[2]) determines which source is in control of the normaliser. if this bit is set to zero the normaliser is controlled by bcr3[7-3]. the five bit field is a twos complement number between 14 and -2. this indicates the amount of right shift (negative mean- ing left shift). any value outside this range causes the output of the shifter to be forced to zero. the output of the shifter, with any rounding generated by the shifter, goes into the output adder. 5.5 output adder this is a 22 bit adder with one of its inputs coming from the data normaliser. the other input is either bits 21 to 0 of the y bus from the data transformation unit, or set to zero under the control of bcr3[1]. note that any overflow occuring due to left shifting in the normaliser or the subsequent addition in the output adder is not detected by the imsa110. 5.6 output multiplexers these two multiplexers allow the currently selected byte from the lut to be optionally selected to drive either the most significant byte and/or the least significant byte of the cascade output pins. this is controlled by the state of bcr2[5] and bcr2[6]. enabling either of these multiplexers overrides the state of the cascade output pins only on the re- lavent 8 pins. the remaining pins will continue to represent the output of the output adder. 6. backend post-processor modes of operation the backend post-processing unit is capable of performing many functions including data scaling, transformation, dynamic range compression and histogram equalisation. 6.1 default mode (after reset) at power up or after reset the state of the backend post-processor is such that data from the mac array and the cascade input are added and pass straight through the datapath unaffected. the default mode for the statistics monitor is min register although the values in the oub, ouc, mmr and mmb will be undefined. likewise the contents of the lut, usr and lsr will be unde- fined, the lut access control bit will be zero forcing the y bus to zero and allowing the micro- processor interface to access the lut, usr and lsr. note that the cascade output pins and the psr output pins are tristated. 6.2 cascade adder / mac data scalar these units allow the cascading of ims a110s where the output of the mac array may be scaled before it is added to the cascade input data. the shifter can also be used for combining devices to obtain extended precision in input data, coefficient word length or both. the ability to zero the cascade input provides a simple means of controlling the number of active devices cascaded as well as a means of debugging large systems. 6.3 rectification rectification, the removal of negative results, is needed in several image processing functions. for example, edge detection using a sobel opera- tor usually requires full wave rectification due to the different signs obtained at differing edge transi- tions. edge detection using a laplacian operator produces a change of sign at an edge. in this case, removing negative numbers using half wave recti- fication can produce better results as full wave rectification can lead to some blurring of the edge transition. imsa110 9/26
6.4 static scaling this can be performed using one of two units: the mac array output shifter (as above), and the data normaliser. in the second case the data undergoes a simple scaling operation (with rounding) within the normaliser. the normaliser can be used to scale (multiply) the data by the factors 0, 1/16384, 1/8192, 1/4096 ..., 1/2, 1, 2, 4. by controlling the normaliser from the control bits bcr3[7-3], this provides a means for simple scaling of the data before it is output. setting bcr3[1] and bcr2[6,7] to zero ensures that the data transformation unit takes no part in the operation and the output of the normaliser is passed unchanged to the output pins. 6.5 dynamic scaling in this mode the scaling is controlled by the data itself. i.e. the scalar is controlled from the lut (ybus bits 26-22) by setting bcr3[2] to one, the ybus input to the output adder being set to zero either by setting bcr3[1] to zero or programming the lut accordingly. this mode can provide a discontinuous non-linear transformation. 6.6 simple transformation this mode allows the user to apply arbitrary trans- formations to the data before it is output. here the lut is treated as 256 by 8, addressed as either -128 to 127 if poslutaddr is set to zero or 0 to 255 if poslutaddr is set to one. the 8 bit field selected by the lut prescalar is used to address a byte in the lut which is passed directly to the output pins via one of the output multiplexers. ybus control of the data normaliser is disabled, bcr3[7-3] are set out of range so as to zero the normaliser output and the ybus input to the output adder is set to zero by bcr3[1]. one (or both) of the output multiplexers are enabled and so the addressed byte from the lut passes straight to the cascade output pads. only the most significant byte of the usr and lsr are applicable in this mode as overflows override the byte select control and force it to select the most significant byte. 6.7 dynamic normalisation in this mode the normaliser and transformation units in the output conditioner are used together to perform sophisticated non-linear dynamic range compression and transformations. as in the simple transformation case the prescalar selects an 8 bit field anywhere within the x bus. the most signifi- cant 6 bits, and overflows, are fed as an address to the lut. in this case the look up table is treated as 64+2 by 32. bits 26 to 22 of the y bus are used to control the normaliser block so that the input to the normaliser is dynamically scaled. the output of the normaliser is then added in the output adder to the least significant 22 bits of the y bus (note that only 28 bits of the 32 bit y bus are actually used). thus the data is scaled, rounded, and then an offset is added to the scaled result. each operation can be viewed as output = input scale + offset where scale and offset are both programmable functions of input. one way to view this operation is to consider that the original data range is divided into 64 equal sized levels and in each level a different scale and offset is applied. the scale and offset stored in the usr and lsr would be chosen to give the desired behaviour under overflow con- ditions. note that in the case of cascade adder overflows, the data on the x bus is invalid, so the scale here would usually be set out of range so as to zero the normaliser output. the offsets in the usr and lsr would then provide the cascade output directly. note also that if the 5 bit scale field in the lut is programmed so that the normaliser always zeros the data, then the output will correspond to the 22 bit offset field in the lut. this can be viewed as a coarse transformation with wide dynamic range which is useful for applications such as image contour emphasis and equalisation. 31 24 23 16 15 8 7 0 byte 0 byte 1 byte 2 byte 3 scale if bcr3 [2] = 1 offset if bcr3 [0] = 1 a110-06.eps figure 5 : bit format of data stored in lut, usr and lsr imsa110 10/26
7. glossary this section defines the meaning of terms used elsewhere in this data sheet. arithmetic shift for a right shift, the most significant bit is always copied into the most significant end of the result. for example shifting right by 2: 01000101 ? 00010001 11000101 ? 11110001 for a left shift, the least significant bit will become zero. note that left shifting can cause overflows and these are not detected in the mac output scalar or the data normaliser. rounding all rounding done within the ims a110 is equivalent to truncating after adding 1/2 lsb. (rounding is always applied in the positive direction). for exam- ple for 8 bit twos complement numbers undergoing a two bit right shift: 00000011 ? 00000000 + 1 = 00000001 (rounded up) 00000010 ? 00000000 + 1 = 00000001 (rounded up) 11111110 ? 11111111 + 1 = 00000000 (rounded up) 00000001 ? 00000000 (no rounding) 11111101 ? 11111111 (no rounding) left shifts do not generate rounding. transversal filter a transversal filter is a calculation consisting of the sum of products of successive points of input data. for input data x i , x i+1 , ..., and a set of coefficients, c 6 ,c 5 , ..., the result, y is: y = ? c i i = 0 6 x 6 - i twos complement twos complement numbers allow both positive and negative numbers. for example in 8 bit num- bers the most positive number is 127, the most negative is -128: twos complement decimal 10000000 -128 10000001 -127 11111111 -1 00000000 0 00000001 1 01111111 127 rectification rectification is a method of removing negative numbers. there are two methods: full wave and half wave. in either case all positive numbers and zero are unaffected. in full wave rectification, any negative numbers are negated (i.e. multiplied by 1) so that they become positive. in half wave rectifi- cation, all negative numbers are replaced by zero. dynamic range compression when dynamic is used in this context, it is to indicate a change of behaviour for each data point. for example, a dynamic shift is one where the size of the shift may change on each successive clock cycle. dynamic range compression is range com- pression making use of an offset and shift, which can change depending on each data point. this allows the essential non-linear transformations re- quired in image processing to be implemented on the ims a110. bit fields bits, words and addresses in this data sheet are little-endian; the lowest order byte of a multiple byte word is referred to as byte 0, and is addressed in the same way. similarly, the least significant bit of any bit field is that with the lowest bit number. for example, bits 26-22 refers to a 5 bit field where bit 22 is treated as the least significant, and bit 26 as the most significant. latency within the imsa110 the latency is the number of clock cycles from an input to its corresponding output. for instance, with the programmable shift registers bypassed by setting scr[1] to 1, the latency from psrin to psrout will be 2 as shown in figure 6. imsa110 11/26
123 clk psrin psrout psrin latched a110-07.eps figure 6 pin designations system services pin in/out function v cc , gnd power supply and return clk in input clock reset in system reset synchronous input/output pin in/out function psrin[7-0] in programmable shift register input psrout[7-0] out programmable shift register output cin[21-0] in cascade input port cout[21-0] out cascade output port asynchronous input/output pin in/out function e1, e2 in memory interface enable signals w in memory interface write enable adr[8-0] in memory interface adress bus d[7-0] in/out memory interface data bus note : signal names are shown with an overbar if they are active low, otherwise they are active high. 8.1 system services system services include all the necessary logic to start up and maintain the ims a110. power power is supplied to the device via the v cc and gnd pins. several of each are provided to mini- mise inductance within the package. all supply pins must be connected. the supply must be decoupled close to the chip by at least one 100nf low induc- tance (e.g. ceramic) capacitor between v cc and gnd . clk the clock signal clk controls the timing of input and the output on the four dedicated interfaces, and controls the progress of data through the shift reg- isters, multiply-accumulate array and post-proc- essing unit. the a110 is fully static so the clock can be slowed down or stopped in either state without corrupting data. reset if this pin is taken low for at least 2 clock cycles, the control logic within the ims a110 will be reset and all of the control and configuration registers will be initialised to their default values. all other register, memory locations, datapath registers and shift reg- isters will not be reset by this signal. a reset is initiated automatically when power is first applied to the device. this reset will be completed once four cycles of clk have occured after vcc is valid. 8.2 synchronous services psrin[7-0] this 8-bit wide bus supplies input data to the de- vice. the input data enters the first of the three shift registers in the chain. the timing of this input is controlled by the clk signal. the data on the psrin port is sampled on the rising edge of the clock. in a cascade arrangement, this bus will be connected to the psrout port of the previous de- vice. in such an arrangement the psrin port on the first device will be the input to the overall cascaded system. imsa110 12/26
psrout[7-0] this bus outputs the data from the last programma- ble shift register in the chain. the data on this bus is synchronously clocked by the rising edge of clk . in a cascade arrangement this port will be con- nected to the psrin port of the next device. at power up, or after a reset, the psrout pins are tristated. they are enabled by scr[5]. cin[21-0] the cascade input port allows imsa110s to be cascaded. it also can be used for combining an external signal (e.g. a reference image or an offset) with the processed result. in a cascade arrange- ment, this bus will be connected to the cascade output of the previous device. the data on the cin bus is sampled on the rising edge of clk . cout[21-0] this bus outputs the processed result from the imsa110 and can also be used for cascading. the 22-bit result is synchronously clocked by the rising edge of clk . in a typical cascaded system this bus will be connected to the cascade input port of the next device. on the last device in the cascade, this bus will be the output of the overall system. at power up, or after a reset, the cout pins are tris- tated. they are enabled by scr[4]. 8.3 asynchronous input/output e1, e2 if both of these signals are low, then the microproc- essor interface is enabled. the operation of these enable signals is very similar to those found on static rams. when either of these signals are high the write enable and the address inputs are ig- nored and the microprocessor interface data sig- nals are high impedance. when both enable sig- nals are low a read or write access is made to registers or the rams within the imsa110. access to the microprocessor interface can occur asyn- chronously to the synchronous pins ( psrin , psrout , cin , cout ) of the device. w write enable indicates whether the access to the ims a110 memory interface is to be a read or a write. if w is low a write access is indicated. adr[8-0] the nine bit binary value applied to the address inputs of the imsa110 indicates which register or ram location within the device is to be accessed. d[7-0] during a write to the microprocessor interface an 8-bit word is applied to the data pins which is written to the appropriate location. during a read cycle the contents of the location accessed are placed on the data pins. when either of the en- ables are high the data pins are high impedance. 9 register description memory map within the imsa110 addresses are fully decoded. reading from locations not defined in the memory map will produce zero data. data written to such locations is ignored. this allows the part to be fully programmed using a rom with an address incre- meter. in this case, for future compatibility, zero should be written to all undefined locations. imsa110 13/26
register address decimal address hex function cr0a 06 000006 coefficient registers bank 0a cr0b 1622 010016 coefficient registers bank 0b cr0c 3238 020026 coefficient registers bank 0c cr1a 6470 040046 coefficient registers bank 1a cr1b 8086 050056 coefficient registers bank 1b cr1c 96102 060066 coefficient registers bank 1c pcra 128129 080081 psra control register pcrb 130131 082083 psrb control register pcrc 132133 084085 psrc control register scr 144 090 static control register acr 146 092 active control register bcr 160163 0a00a3 backend configuration register mmb 176178 0b00b2 maximum/minimum buffer cmm 180 0b4 copy mmr oub 184186 0b80ba overshoot/undershoot buffer cou 188 0bc copy ouc tcr 208 0d0 test control register usr 248251 0f80fb upper saturation register lsr 252255 0fc0ff lower saturation register lut 256-511 1001ff look up table 9.2 registers cr0a coefficient registers bank 0a these seven 8-bit locations contain coefficients which can be used by the third, of the three, 7-stage mac arrays. cr0a(0) (address #000) corresponds to the coefficient register of this mac array nearest to its output. similarly cr0a(6) (address #006) corresponds to the coefficient register of this mac nearest to its input. these coefficient registers can be written to provided that the other register bank is in use. whether the coefficient written is signed or unsigned is determined by the unsigned coef- ficient bit scr[3]. once a value is written to a coefficient register, its value can be read back from an internal duplicate register. these registers will be used by the mac array, when acr[0], current bank is set to zero. writing to these coefficient registers while in use will result in an undefined operation of the mac array. cr0b coefficient registers bank 0b these seven 8-bit locations contain coefficients which can be used by the second, of the three, 7-stage mac arrays in the chain. cr0b(0) (address #010) corresponds to the coefficient register of this mac array nearest to its output. similarly cr0b(6) (address #016) corresponds to to the coefficient register of this mac nearest to its input. their be- haviour is otherwise identical to cr0a. imsa110 14/26
address name bit (hex) 7 6 543210 1ff lut look up table 100 0fc-0ff lsr lower saturation register 0f8-0fb usr upper saturation register 0d0 tcr 0bc cou copy over/undershoot buffer 0b8-0ba oub over/undershoot buffer 0b4 cmm copy min/max buffer 0b0-0b2 mmb min/max buffer 0a3 bcr3 normaliser control dynamic normali- sation lut to output adder 0 0a2 bcr2 0 ls output byte ms output byte look up prescaler 0a1 bcr1 000000 static threshold greater than 0a0 bcr0 full wave half wave mac output scaler zero cascade 092 acr 000000 backend lut access current bank 090 scr 0 poslut addr psr out enable cascade enable unsigned coef load unsigned data bypass psrs cont swap 085 pcrc 0 0 0 0 0 shift length (upper bits) 084 pcrc shift length (lower bits) 083 pcrb 000 0 0 shift length (upper bits) 082 pcrb shift length (lower bits) 081 pcra 0 0 0 0 0 shift length (upper bits) 080 pcra shift length (lower bits) 066 ... 060 cr1c bank 1 coefficient register 056 ... 050 cr1b bank 1 coefficient register 046 ... 040 cr1a bank 1 coefficient register 026 ... 020 cr0c bank 0 coefficient register 016 ... 010 cr0b bank 0 coefficient register 006 ... 000 cr0a bank 0 coefficient register figure 7 : imsa110 memory map imsa110 15/26
cr0c co efficient registers bank 0c these seven 8-bit locations contain coefficients which can be used by the first, of the three, 7-stage mac arrays in the chain. cr0c(0) (address #020) corresponds to the coefficient register of this mac array nearest to its output. similarly cr0c(6) (ad- dress #026) corresponds to to the coefficient regis- ter of this mac nearest to its input. their behaviour is otherwise identical to cr0a. cr1a co efficient registers bank 1a these seven 8-bit locations contain coefficients which can be used by the third, of the three, 7-stage mac arrays in the chain. cr1a(0) (address #040) corresponds to the coefficient register of this mac array nearest to its output. similarly cr1a(6) (ad- dress #046) corresponds to to the coefficient regis- ter of this mac nearest to its input. these registers will be used provided that acr[0], current bank is set to one, or continuous bank swap mode is in operation (scr[0] set to one). cr1b coefficient registers bank 1b these seven 8-bit locations contain coefficients which can be used by the second, of the three, 7-stage mac arrays in the chain. cr1b(0) (address #050) corresponds to the coefficient register of this mac array nearest to its output. similarly cr1b(6) (address #056) corresponds to to the coefficient register of this mac nearest to its input. their be- haviour is otherwise identical to cr1a. cr1c co efficient registers bank 1c these seven 8-bit locations contain coefficients which can be used by the second, of the three, 7-stage mac arrays in the chain. cr1c(0) (address #060) corresponds to the coefficient register of this mac array nearest to its output. similarly cr1c(6) (address #066) corresponds to to the coefficient register of this mac nearest to its input. their be- haviour is otherwise identical to cr1a. pcra psra control register this is a 16-bit register, with least significant byte at location #080, and is used to set up the length of the last shift register in the chain. programmed lengths outside the range 0 to 1120 will cause undefined behaviour of the shift register. pcrb psrb control register this is a 16-bit register, with least significant byte at location #082, and is used to set up the length of the second shift register in the chain. programmed lengths outside the range 0 to 1120 will cause undefined behaviour of the shift register. pcrc psrc control register this is a 16-bit register, with least significant byte at location #084, and is used to set up the length of the first shift register in the chain. programmed lengths outside the range 0 to 1120 will cause undefined behaviour of the shift register. scr static control register the static control register contains the control bits which set up parts of the ims a110 which are likely to not need reconfiguration during processing. the contents of this register are not affected by the ims a110 and can be read at any time. modifying the static control register during processing will result in undefined behaviour. normal operation will start to occur between 0 and 3 clock cycles after the completion of the write cycle. acr active control register the active control register contains status and control bits which are likely to be accessed during normal operation of the ims a110. bcr backend configuration register the backend configuration registers consist of four byte-wide registers bcr0, bcr1, bcr2, and bcr3 which are located at addresses #0a0, #0a1, #0a2, and #0a3 respectively. these four registers are used to control the backend post-processing unit. none of the control bits in these registers can be modified by the ims a110. modification of the values in these registers during processing may result in undefined behaviour. normal operation will start to occur between 0 and 3 clock cycles after the completion of the write cycle. mmb maximum/minimum buffer these three locations hold a 24-bit wide word, with the least significant byte at the lowest address, and act as a buffer between the mmr and the micro- processor interface. all the transactions bet ween the mmr and the host processor must take place through this register. when the mmr is not in use, the value of this buffer is undefined. cmm copy mmr this location is used to enable the data transfer between the mmb and mmr. a write to this location causes the contents of mmb to be copied into the mmr and bits 23 and 22 of the mmr (the cascade adder overflow flags) to be set to zero. a read from this location causes the reverse, i.e the contents of the mmr are copied into the mmb. the value written to this location is ignored, the value read back is undefined. imsa110 16/26
oub overshoot/undershoot buffer these three memory locations hold a 22-bit word, with the least signific ant byte at the lowest address, and act as a buffer between the ouc and the microprocessor interface. all the transactions be- tween the ouc and the host processor must take place through this register. when the ouc is not in use, the value of this buffer is undefined. cou copy ouc this location in the memory is used to enable the data transfer between the oub and ouc. a write to this location causes the contents of oub to be copied into the ouc. a read from this location causes the reverse, i.e the contents of the ouc are copied into the oub. the value written to this location is ignored, the value read back will be undefined. tcr test control register this register is used for testing, and should be loaded with zero for normal operation. usr upper saturation register this is a 32-bit value with the least significant byte at the lowest address. its contents are used to replace the lut output if positive overflow(s) occur in the look up prescaler and / or in the cascade adder. accesses from the microprocessor interface can only be made while acr[1] is set to zero. lsr lower saturation register this is a 32-bit value with the least significant byte at the lowest address. its contents are used to replace the lut output if negative overflow(s) occur in the look up prescaler and / or in the cascade adder. accesses from the microprocessor interface can only be made while acr[1] is set to zero. lut look up table these locations are for the 256-byte look up t able which is used for data mapping and transformation operations. from the microprocessor interface, these locations are addressed in the same way as that seen by the 8-bit output of look up prescaler. when used in 32 bit mode, the locations are treated in the same way as other 32 registers: word 0 has its most significant byte at #103, its least significant byte at #100, word 12 has its most significant byte at #133, its least significant byte at #130. accesses from the microprocessor interface can only be made while acr[1] is set to zero. 10. registers bit allocation this section describes the register details bit by bit. each section commences with the name of the register with the bit number(s) followed by the de- fault value, in the general format: name register [msblsb] default : msb...lsb the least significant bit of a register is bit 0. * in the tables indicates the default state of the register bit(s). 10.1 psr control registers (pcr) psra control pcra[10-0] default: 0 ? ? 0 these eleven least significant bits of the pcra are used to specify the length of the last programmable shift register (psra). the length of the shift reg- ister will be numerically equal to the binary value loaded in these bits. the value loaded in must be in the range of 0 to 1120 decimal. if a value outside this range is written to these bits the behaviour of the shift register will be undefined. after updating this register, the behaviour of the delay is undefined for 22 clock cycles. hence changing the length from 1000 to 1001 delays, will result in correct output only after 1023 cycles. this will also have to propa- gate through the backend before the cascade out- put values will be correct. reserved pcra[15-11] default: 00000 these 5 most significant bits of the pcra are reserved. the user should write zero to these loca- tions to maintain compatibility with future products. the value read from these locations will be zero. imsa110 17/26
psrb control pcrb[10-0] default: 0 ? ? 0 these eleven least significant bits of the pcrb are used to specify the length of the second program- mable shift register (psrb). the length of the shift register will be numerically equal to the binary value loaded in these bits. the value loaded in must be in the range of 0 to 1120 decimal. if a value outside this range is written to these bits the behaviour of the shift register will be undefined. after updating this register will also have to propagate through psra and the backend before the cascade output values will be correct reserved pcrb[15-11] default: 00000 these 5 most significant bits of the pcrb are reserved. the user s hould write zero to these loca- tions to maintain compatibility with future products. the value read from these locations will be zero. psrc control pcrc[10-0] default: 0 ? ? 0 these eleven least significant bits of the pcrc are used to specify the length of the first programmable shift register (psrc). the length of the shift reg- ister will be numerically equal to the binary value loaded in these bits. the value loaded in must be in the range of 0 to 1120 decimal. if a value outside this range is written to these bits the behaviour of the shift register will be undefined. after updating this register will also have to propagate through psrb, psra and the backend before the cascade output values will be correct reserved pcrc[15-11] default: 00000 these 5 most significant bits of the pcrc are reserved. the user s hould write zero to these loca- tions to maintain compatibility with future products. the value read from these locations will be zero. 10.2 static control register (scr) reserved scr[7] default: 0 this location is reserved. the user should write zero to this location to maintain compatibility with future products. the value read from this location will be zero. positive look up table address scr[6] default: 0 this bit affects the way in which the over/under select detector checks the lut address. it deter- mines whether the address range of the lut is signed (-128 to 127) or positive (0 to 255). a one at this location indicates a positive lut address. psr out enable scr[5] default: 0 a zero at this location will force the psr output pins into the tristate mode. cascade enable scr[4] default: 0 a zero at this location will force the cascade output pins into the tristate mode. unsigned coefficient load scr[3] default: 0 if this bit is set to one, the format of subsequently loaded coefficients become unsigned, with coeffi- cient value assuming a range between 0 and 255 decimal. an 8-bit coefficient with all its bits set to one will represent +255 decimal. when this bit is zero the format of subsequently loaded coefficients will be twos complement and the corresponding numerical value will have a range between -128 and +127. by changing this bit whilst coefficients are being loaded, coefficients between -128 and +255 can be used. the unsigned format on all coefficients is suitable when ims a110s are com- bined to obtain wider coefficients for extended pre- cision. scr[3] coefficient type 0 signed coefficients * 1 unsigned coefficients unsigned data scr[2 ] default: 0 if this bit is set to one, the ims a110 input data format will become unsigned, with input data value assuming a range between 0 and 255 decimal. an 8-bit value with all its bits set to one will represent +255 decimal. when this bit is zero the input data format will be twos complement and the corre- sponding numerical value will have a range be- tween -128 and +127. unlike scr[3], this bit cannot be used to dynamically alter the data format. the unsigned format is suitable when ims a110s are combined to obtain wider input data for extended precision. scr[2] data type 0 signed data * 1 unsigned data bypass shift registers scr[1] default: 0 this bit is used to program the path between the psrin and psrout ports. a zero at this location will cause the output from the last programmable shift register to be sent to psrout port. writing a one to this bit will cause the three programmable shift registers to be bypassed, and the data entering the port psrin to be fed directly, via a delay of 2 clock cycles, to the port psrout. this bit allows full pro- grammability of a cascade arrangement so that the same hardware can be operated in a variety of ways. imsa110 18/26
continous bank swap scr[0] default: 0 the continuous bank swap bit selects whether the the two banks of coefficient registers are used alternately after each data input or if this is control- led solely by the state of the current bank bit in the active control register acr[0]. scr[0] swap mode 0 swap on asserting acr[0] * 1 swap after end of each input cycle 10.3 active control register (acr) reserved acr[7-2] default: 00000 these 6 most significant bits of the acr are re- served. the user should write zero to these loca- tions to maintain compatibility with future products. the value read from these locations will be zero. enable look up table acr[1] default: 0 writing a zero into this control bit allows the memory interface to access the look up table; the output to the data transformation unit will be zero. the nor- maliser will be controlled by bcr3[7-3], regardless of the state of bcr3[2]. writing a one to acr[1] allows the ims a110 to use the look up table. after changing this bit, 2 clock cycles must occur before the look up table can be accessed. acr[1] lut mode 0 memory interface access * 1 data transformation unit current bank acr[0] default: 0 when the continuous bank swap bit is set to zero, writing a zero into this control bit instructs the ims a110 to use the set of coefficient registers at ad- dresses 0 to #x26. setting a one to this bit instructs the ims a110 to use the set of coefficient registers at addresses #40 to #x66. if the continuous bank swap bit is set to one, then this bit only indicates the bank selected for the first cycle of the continu- ous swap mode. writing to this bit whilst in continu- ous bank swap mode (scr[0]=1) will result in undefined behaviour of the mac array. acr[0] coefficient bank 0 use coefficient registers at 0 to #x26 * 1 use coefficient registers at #40 to #x66 10.4 backend control register 0 (bcr0) enable full-wave rectification bcr0[7] default: 0 if this bit is set the output of the cascade adder is full-wave rectified (absolute value operation) be- fore it is fed to the remainder of the backend. this bit will override the function of the bcr0[6]. enable half-wave rectification bcr0[6] default: 0 writing a one in this bit will cause the negative values from the cascade adder to be replaced with zero. note that writing a one into bcr0[7] will override the function of this control bit. bcd0[7-6] rectifier mode 0 0 straight through * 0 1 half wave rectification 1 0 full wave rectification 1 1 full wave rectification mac array output scaler bcr0[5-1] default: 00000 the contents of these five bits control the amount of right or left shift applied to the data at the output of the mac array. this field is interpreted as a twos complement number. a positive number repre- sents a right shift (divide). any shift in the range -8 (11000) to +8 (01000) is legal. values outside this range will result in undefined behaviour of the mac output scaler. zero cascade input bcr0[0] default: 0 this bit controls the cascade input multiplexer. writing a one to this bit will cause a zero, instead of the cascade input data, to be fed to the cascade adder. bcr[0] cascade input mode 0 cascade data * 1 zero 10.5 backend control register 1 (bcr1) reserved bcr1[7-2] default: 00000 these locations are reserved. the user should write zero to these locations to maintain compati- bility with future products. the values read from these locations will be zero. static threshold bcr1[1] default: 0 if this bit is set to one, the signals from the compa- rator will be used to increment the over / under- shoot counter only. if this bit is zero, the signals from the comparator will be used to latch the output of the cascade adder into the maximum / minimum register (mmr), and to increment the counter. in this case the counter will have been incremented by the number of times that the threshold has been updated. imsa110 19/26
enable greater than bcr1[0] default: 0 this control bit determines whether the comparator in the statistics monitor behaves as a greater than, or as a less than comparator. the signal from this comparator is used to drive the over / undershoot counter and the max / min register. a one at this location selects greater than. bcr1[1-0] statistics monitor mode 0 0 min. register * 0 1 max. register 1 0 undershoot counter 1 1 overshoot counter 10.6 backend control register 2 (bcr2) reserved bcr2[7] default: 0 this location is reserved. the user should write zero to this location to maintain compatibility with future products. the value read from this location will be zero. pass lut data to least significant output bcr2[6] default: 0 this bit controls the output mult iplexer. if this bit is set to one, the selected byte from the lut is output on the least significant byte (bits 7 to 0) of the cascade output pins. pass lut data to most significant output bcr2[5] default: 0 this bit controls the output mult iplexer. if this bit is set to one, the selected byte from the lut is output on the most signific ant byte (bits 21 to 14) of the cascade output pins. look up prescaler bcr2[4-0] default: 00000 the contents of these five bits control the amount of (arithmetic) right shift applied to the data, by the look up prescaler. writing a numerical value be- tween 0 and 16 (binary 10000) into these bits, will cause the data to be right-shifted by a correspond- ing number of places. for example, if the bit pattern 00101 is written to these five bit positions, a right shift of 5 places will occur. writing any value outside the range (0 to 16) will result in undefined behaviour of the look up prescaler. 10.7 backend control register 3 (bcr3) normalizer control bcr3[7-3] default: 00000 these five bits control the number of places, that the normaliser shifts the data to the right or to the left. this field is interpreted as a twos complement number. a positive number is taken to be a right shift. any shift in the range -2 (11110) to +14 (01110) is legal. any other value will cause the number zero to be output from the normaliser. enable dynamic normalization bcr3[2] default: 0 if this bit is set to one, the normaliser will be con- trolled by bits 26 to 22 from the output of the look up table, instead of bcr3[7-3]. feed lut data to output adder bcr3[1] default: 0 one of the inputs of the output adder can be either supplied by the look up table or forced to zero. setting this control bit to zero selects zero. setting this control bit to one selects bits 21 to 0 of the look up table. reserved bcr3[0] default: 0 this location is reserved. the user should write zero to this location to maintain compatibility with future products. the value read from this location will be zero. imsa110 20/26
11. electrical specification 11.1 dc electrical characteristics absolute maximum ratings symbol parameter min. typ. max. units notes (1,2) v cc dc supply voltage 0 7.0 v 3 v i , v o voltage on any other pin -1.0 v cc +0.5 v 3 t a temperature under bias -40 85 c t stg storage temperature -65 150 c pdmax power dissipation 2.0 w notes : 1. all voltages are with respect to gnd . 2. this is a stress rating only and functional operat ion of the device at these or any other conditions above those indicated in the operational sections of this specification is not implied. stresses g reater than those listed may c ause permanent damage to the device. exposure to absolute maximum rating conditions for ex tended periods may af fect reliability. 3. this device contains circuitry to protect the inputs against damage caused by high static voltages or electrical fields. h owever, it is advised that normal precautions be taken to avoid application of any voltage higher than the absolute maximum rated voltages to this high impedence circuit. unused inputs should be tied to an appropriate logic level such as v cc or gnd . dc operating conditions symbol parameter min. typ. max. units notes (1) v cc supply voltage 4.5 5.0 5.5 v v ih input logic 1 voltage clk input logic 1 voltage other pins 4.0 2.0 v cc +0.5 v cc +0.5 v v 2 2 v il input logic 0 voltage clk input logic 0 voltage other pins -0.5 -0.5 0.5 0.8 v v 2 2 ta ambient operating temperature 0 70 c 3 notes : 1. all voltages are with respect to gnd . 2. input signal transients, up to 10ns wide, are permitted in the voltage ranges ( gnd - 0.5v) to ( gnd - 1.0v) and v cc + 0.5v to v cc + 1.0v. 3. 400 linear ft/min transverse air flow. dc characteristics symbol parameter min. typ. max. units notes (1,2) v oh output logic 1 voltage 2.4 v cc v4 v ol output logic 0 voltage 0 0.4 v 5 i in input leakage current(any input current) 10 m a 3 i oz off state output leakage current 10 m a 3 i dd average power supply current 350 ma notes : 1. all voltages are with respect to gnd . 2. parameters measured over full voltage and t emperature operating range. 3. v cc = v cc (max), gnd v in v cc 4. iout -4.4 ma 5. iout 4.4 ma capacitance pin min. typ. max. units notes clk 12 pf 1,2 all other pins 5 pf 1,2 notes : 1. this parameter is supplied for engineering guidance and is not guaranteed. 2. ta= 25c , f= 1 mhz. imsa110 21/26
11.2 thermal characteristics pin grid array thermal characteristics symbol parameter min nom max units notes q ja junction to ambient thermal resistance 35 c/w 1,2 notes : 1. measured at 400 linear ft/min transverse air flow. 2. this parameter is sampled and not 100% tested. 11.3 ac timing characteristics ac test conditions output loads (except output turn-off tests) : 30pf for all outputs. v ref sink i source i = 1.5v = 1ma = 1ma 30pf dut pin a110-08.eps figure 8 : output load (output turn-off tests) timing reference levels pin reference levels notes inputs 0.8v, 2.0v 1 clk 0.5v, 4.0v outputs 0.4v, 2.4v 2,3 outputs 100mv change from previous steady output voltage 4 notes : 1. except clk . 2. output continously driven. 3. timings are tested using v ol =0.8v and with a suitable allowance for the time taken for the output to fall from 0.8v to 0.4v. 4. output turn-off tests. 11.4 timing diagrams clock requirements symbol parameter min typ. max units notes t chcl clock pulse high width 20 ns 2 t clch clock pulse low width 20 ns 2 t chch clock period 50 ns 2 t r clock rise time 0 50 ns 1 t f clock fall time 0 50 ns 1 notes : 1. clock input transitions should be monotonic between the input thresholds of 0.5 v and 4.0 v. 2. for rev.a parts t chcl , t clch and t chch have maximum values of 50 000ns, 50 000ns and 100 000ns respectively. (a minimum clock frequency of 10khz.) imsa110 22/26
t chcl t chch t clch t r t f 4.0v 0.5v clk a110-09.eps figure 9 microprocessor interface read cycle symbol parameter min max units notes t avel address setup 0 ns t ehax address hold 0 ns t whel read command setup 0 ns t ehwx read command hold 0 ns t elqx output turn-on 0 ns t elqv read data access 100 ns t ehqx read data hold 0 ns t ehqz output turn off 25 ns t avel t whel t elqv t elqx t ehax t ehwx t ehqx t ehqz e1 e2 address w data a110-10.eps figure 10 imsa110 23/26
microprocessor interface write cycle symbol parameter min max units notes t eleh enable width low 100 ns t avel address setup 0 ns t ehax address hold 0 ns t wlel write command setup 0 ns t ehwx write command hold 0 ns t dveh write data set up 50 ns t ehdx write data hold 0 ns t avel t whel t ehax t ehwx e1 e2 address w data t eleh t ehdx t dveh a110-11.eps figure 11 imsa110 24/26
synchronous input and output symbol parameter min max units notes t chqv clk high to output valid 40 ns t chqx output hold time after clk 2 ns t dvch input setup time to clk high 8 ns t chdx input hold time to clk high 0 ns clk t chqx t chqv t chdx t dvch input output a110-12.eps figure 12 imsa110 25/26
dim millimetres inches notes nom tol nom tol a 26.924 0.254 1.060 0.010 b1 17.019 0.127 0.670 0.005 b2 18.796 0.127 0.740 0.005 c 2.456 0.278 0.097 0.011 d 4.572 0.127 0.180 0.005 e 3.302 0.127 0.130 0.005 f 0.457 0.051 0.018 0.002 pin diameter g 1.143 0.127 0.045 0.005 flange diameter k 22.860 0.127 0.900 0.005 l 2.540 0.127 0.100 0.005 m 0.508 0.020 chamfer pga100.tbl a a index m c d g e f l k l k 10 9 1 2 3 4 5 6 7 8 a b c d e f g h j k b1 b2 pmpga100.eps package mechanical data 100 pins - grid array package information furnished is believed to be a ccurate and reliable. however, sgs-thomson microelectronics assumes no responsibility for the consequences of use of such information nor for any infringement of patents or other rights of third parties which may result from its use. no licence is granted by i mpli cation or otherwise under any patent or patent rights of sgs-thomson microelectronics. specifications mentioned in this publication are subject to change without notice. this publication supersedes and replaces all information previously supplied. sgs-thomson microelectronics products are not authorized for use as critical components in lif e support devices or systems without express written approval of sgs-thomson microelectronics. ? 1994 sgs-thomson microelectronics - all rights reserved purchase of i 2 c components of sgs-thomson microelectronics, conveys a license under the philips i 2 c patent. rights to use these components in a i 2 c system, is granted provided that the system conforms to the i 2 c standard specifications as defined by philips. sgs-thomson microelectronics group of companies australia - brazil - china - france - germany - hong kong - it aly - ja pan - korea - malaysia - malta - morocco the netherlands - singapore - spain - sweden - switzerland - taiwan - thailand - united kingdom - u.s.a. imsa110 26/26


▲Up To Search▲   

 
Price & Availability of IMSA110-G20S

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X